#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""配置文件"""
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# Telegram API 配置
# 在 https://my.telegram.org/ 获取
# ===== 直接取值 =====
API_ID = int(os.getenv('API_ID', '0'))
API_HASH = os.getenv('API_HASH', '')
SESSION_NAME = os.getenv('SESSION_NAME', 'telegram_monitor')
PHONE = os.getenv('PHONE', '')
LOGIN_TYPE = os.getenv('LOGIN_TYPE', 'session')          # phone | session

# kafka服务器配置
KAFKA_BROKERS = os.getenv('KAFKA_BROKERS', '')
KAFKA_TOPIC = os.getenv('KAFKA_TOPIC', '')
KAFKA_MECHANISM = os.getenv('KAFKA_MECHANISM', '') 
KAFKA_USERNAME = os.getenv('KAFKA_USERNAME', '') 
KAFKA_PASSWORD = os.getenv('KAFKA_PASSWORD', '') 


OSS_AK = os.getenv('OSS_AK', '')
OSS_SK = os.getenv('OSS_SK', '')
OSS_ENDPOINT = os.getenv('OSS_ENDPOINT', '')
OSS_BUCKET = os.getenv('OSS_BUCKET', '')
HEARTBEAT_URL = os.getenv('HEARTBEAT_URL', '')

# 要监听的群组/频道名称或ID
# 可以使用群组名称、用户名或数字ID
# 注意：群组名称必须是您已加入的群组，且名称完全匹配
CHAT_NAMES = [
    # 'Test',  # 群组名称 - 如果群组不存在会报错
    # '@channel_username',  # 频道用户名（以@开头）
    # -1001234567890,  # 群组ID（数字，推荐使用）
    # 'me',  # 特殊值：监听私聊消息
]

# 备用配置：如果上述群组无法找到，可以使用以下方法
# 1. 使用群组ID（最可靠的方法）
# 2. 确保群组名称完全正确
# 3. 确保您的账号已加入该群组

# 要监听的关键词
# 支持中文和英文
# 如果列表为空 []，则监听所有消息（当前配置）
KEYWORDS = [
    # 'walrus',  # 已注释掉，改为监听所有消息
    # 'keyword2',
    # '重要',
    # '紧急',
    # 'urgent',
]

# 监听模式说明：
# 1. 空列表 [] = 监听所有消息
# 2. 有关键词 = 只监听包含关键词的消息

# 日志级别
LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO')

# 其他配置
MAX_MESSAGE_LENGTH = int(os.getenv('MAX_MESSAGE_LENGTH', '1000'))  # 最大消息长度
ENABLE_LOGGING = os.getenv('ENABLE_LOGGING', 'True').lower() == 'true'